<?php
def("amicitia/persistencia/excepciones/","PersistenciaException");
/**
 * Excepción disparada cuando se detecta un problema con la integridad de los
 * datos de una entidad determinada.
 * 
 * @author Willy A. Kuster
 */
class IntegridadDatosException extends PersistenciaException {
	
	private $clase;
	private $propiedad;
	private $valor;

	public function __construct($clase, $propiedad, $valor, $message = "Problema de integridad de datos en el campo '%s' de la clase '%s'. El valor '%s' no es permitido", $code = 0, Exception $previous = null) {
		$this->clase = $clase;
		$this->propiedad = $propiedad;
		$this->valor = $valor;
		parent::__construct(sprintf($message, $propiedad, $clase, $valor), $code, $previous);
	}
	
	public function getClase(){
		return $this->clase;
	}
	
	public function getPropiedad(){
		return $this->propiedad;
	}
	
	public function getValor(){
		return $this->valor;
	}

}
?>